;************************************************************************
;*                                                                      *
;*      R T X - 5 1     S E T U P                                       *
;*                                                                      *
;*----------------------------------------------------------------------*
;*                                                                      *
;*      Filename:       RTXSETUP.INC                                    *
;*      Language:       Keil C (C51)                                    *
;*      Dev.system:     Keil uVision2                                   *
;*      Targetsystem:   Any system based upon 8051 up                   *
;*                                                                      *
;*      Purpose:        Gives the user the possibility to configure RTX *
;*                      to meet his application specific requirements.  *
;*                                                                      *
;*                                  *** NOTE ***                        *
;*                                                                      *
;*                      - Read user manual carefully before changing    *
;*                        this file.                                    *
;*                      - This module may be used without any changes   *
;*                        for most applications !                       *
;*                      - This is an include file for RTXCONF.A51       *
;*                      - If any changes are done then RTXCONF.A51 has  *
;*                        to be rebuilt:                                *
;*                                              A51 RTXCONF.A51         *
;*                                                                      *
;*----------------------------------------------------------------------*
;* Rev. | Released   | Programmer | Comments                            *
;*----------------------------------------------------------------------*
;* 5.10 | 09.05.96   | EG         | Release V 5.10                      *
;* 7.00 | 13.11.2001 | TM         | Filename '.inc', Type List extended *
;************************************************************************
;*    Copyright 1991 .. 2001 METTLER  &  FUCHS  AG,  CH-8953 Dietikon   *
;************************************************************************

;*----------------------------------------------------------------------*
;*                                                                      *
;*                         O V E R V I E W                              *
;*                                                                      *
;*    Configuration Options:                                            *
;*                                                                      *
;*              1. CPU TYPE                                             *
;*              2. SYSTEM CLOCK                                         *
;*              3. INITIAL INTERRUPT-ENABLE REGISTER VALUES             *
;*              4. FAST TASK STACK- AND ENVIRONMENT SIZE                *
;*              5. STANDARD TASK CONTEXT STACK SIZE                     *
;*              6. REENTRANT STACK SIZE                                 *
;*              7. ROUND ROBIN FLAG                                     *
;*              8. BANK SWITCHING FLAG                                  *
;*              9. INTERRUPT TABLE BASE ADDRESS                         *
;*             10. MAILBOX-SUPPORT FLAG                                 *
;*             11. SEMAPHORE-SUPPORT FLAG                               *
;*             12: IDLE MODE                                            *
;*                                                                      *
;*    The configuration is done by editing                              *
;*    the include file RTXSETUP.INC. and rebuild RTXCONF.A51            *
;*                                                                      *
;*----------------------------------------------------------------------*


;  1. CPU TYPE
;  ===========
;
;    CPU_TYPE stands for the desired microprocessor type and can be 
;    selected from the following table:
;
;  Manufacturer     Model               CPU_TYPE
;  ------------     -----               --------
;  Acer Lab         M6759               41
;  Aeroflex UTMC    UT69RH051           23
;  Atmel            87F51               1
;  Atmel            87F51RC             2
;  Atmel            87F52               2
;  Atmel            89C51               1
;  Atmel            89C52               2
;  Atmel            89C55               2
;  Atmel            89F51               1
;  Atmel            89F52               2
;  Atmel            89LS53              2
;  Atmel            89LS8252            2
;  Atmel            89LV52              2
;  Atmel            89LV55              2
;  Atmel            89S53               2
;  Atmel            89S8252             2
;  Atmel Wireless   80C31               1
;  Atmel Wireless   80C31X2             1
;  Atmel Wireless   80C32               2
;  Atmel Wireless   80C51               1
;  Atmel Wireless   80C51RA2            5
;  Atmel Wireless   80C51RD2            5
;  Atmel Wireless   80C51U2             5
;  Atmel Wireless   80C52X2             2
;  Atmel Wireless   80C54X2             2
;  Atmel Wireless   80C58X2             2
;  Atmel Wireless   83/87C51RB2         5
;  Atmel Wireless   83/87C51RC2         5
;  Atmel Wireless   83/87C51RD2         5
;  Atmel Wireless   83/87C51U2          5
;  Atmel Wireless   83/87C52X2          2
;  Atmel Wireless   87C51               1
;  Atmel Wireless   T87C5112            29
;  Atmel Wireless   T89C51CC01          42
;  Atmel Wireless   T89C51RD2           5
;  Cygnal           C8051F005/6/7       39 [*2]
;  Cygnal           C8051F015/16/17     39 [*2]
;  Cygnal           C8051F020/21/22/23  43 [*2]
;  Cygnal           C8051F206           40 [*2]
;  Cygnal           C8051F226           40 [*2]
;  Cygnal           C8051F236           40 [*2]
;  Dallas           DS80C310            33
;  Dallas           DS80C320            16 [*3]
;  Dallas           DS80C323            16 [*3]
;  Dallas           DS80C530            17 [*3]
;  Dallas           DS87C520/DS83C520   16 [*3]
;  Dallas           DS87C530            17 [*3]
;  Dallas           DS89C420            16 [*3]
;  Hynix (Hyundai)  GMS90C32            2
;  Hynix (Hyundai)  GMS90C320           2
;  Hynix (Hyundai)  GMS90C51            1
;  Hynix (Hyundai)  GMS90C52            2
;  Hynix (Hyundai)  GMS90C54            2
;  Hynix (Hyundai)  GMS90C56            2
;  Hynix (Hyundai)  GMS90C58            2
;  Hynix (Hyundai)  GMS90L32            2
;  Hynix (Hyundai)  GMS90L320           2
;  Hynix (Hyundai)  GMS90L51            1
;  Hynix (Hyundai)  GMS90L52            2
;  Hynix (Hyundai)  GMS90L54            2
;  Hynix (Hyundai)  GMS90L58            2
;  Hynix (Hyundai)  GMS97C51            1
;  Hynix (Hyundai)  GMS97C51H           1
;  Hynix (Hyundai)  GMS97C52            2
;  Hynix (Hyundai)  GMS97C52H           2
;  Hynix (Hyundai)  GMS97C54            2
;  Hynix (Hyundai)  GMS97C54H           2
;  Hynix (Hyundai)  GMS97C56            2
;  Hynix (Hyundai)  GMS97C56H           2
;  Hynix (Hyundai)  GMS97C58            2
;  Hynix (Hyundai)  GMS97C58H           2
;  Hynix (Hyundai)  GMS97L51            1
;  Hynix (Hyundai)  GMS97L52            2
;  Hynix (Hyundai)  GMS97L54            2
;  Hynix (Hyundai)  GMS97L56            2
;  Hynix (Hyundai)  GMS97L58            2
;  Infineon         C501                19
;  Infineon         C501G-1R / -E       19
;  Infineon         C501G-L             19
;  Infineon         C502                19
;  Infineon         C503                20 [*1]
;  Infineon         C504-2R /-2E        22 [*1]
;  Infineon         C504-L              22 [*1]
;  Infineon         C505-2R             37
;  Infineon         C505-L              37
;  Infineon         C505A-4E            37
;  Infineon         C505C-2R            3
;  Infineon         C505C-L             3
;  Infineon         C505CA-4E           3
;  Infineon         C505L-4E            3
;  Infineon         C508                38
;  Infineon         C511-R              28
;  Infineon         C511A-R             28
;  Infineon         C513-R              27
;  Infineon         C513A--2R           27
;  Infineon         C513A--L            27
;  Infineon         C513A--R            27
;  Infineon         C515-1R             3
;  Infineon         C515-L              3
;  Infineon         C515A-4R            3
;  Infineon         C515A-L             3
;  Infineon         C515C-8R / -8E      21 [*1]
;  Infineon         C515C-L             21 [*1]
;  Infineon         C517A-4R            9
;  Infineon         C517A-L             9
;  Infineon         C540U-E             31
;  Infineon         C541U-2E            32
;  Infineon         SAB 80512           15
;  Infineon         SAB 80532           15
;  Infineon         SAB 80C515          3
;  Infineon         SAB 80C515A         3
;  Infineon         SAB 80C517          4
;  Infineon         SAB 80C517A         9
;  Infineon         SAB80C535           3
;  Infineon         SAB 80C537          4
;  Infineon         SAB 83C515A-5       3
;  Infineon         SAB 83C517A-5       9
;  Intel            80/87C51BH          1
;  Intel            8031AH              1
;  Intel            8032AH              2
;  Intel            8051AH              1
;  Intel            8052AH              2
;  Intel            80C152JA            8
;  Intel            80C152JB            8
;  Intel            80C152JC            8
;  Intel            80C152JD            8
;  Intel            80C31BH             1
;  Intel            80C51BH             1
;  Intel            80C51FA             5
;  Intel            80C51GB             13
;  Intel            80L51FA             5
;  Intel            80L52               2
;  Intel            83/87C51FA          5
;  Intel            83/87C51FB          5
;  Intel            83/87C51FC          5
;  Intel            83/87C51GB          13
;  Intel            83/87C51RA          2
;  Intel            83/87C51RB          2
;  Intel            83/87C51RC          2
;  Intel            83/87L51FA          5
;  Intel            83/87L51FB          5
;  Intel            83/87L51FC          5
;  Intel            83C152JA            8
;  Intel            83C152JC            8
;  Intel            83F51FC             14
;  Intel            87C51FA             5
;  Intel            87C54               2
;  Intel            87L52               2
;  Intel            88F51FC             14
;  ISSI             IS80C31             1
;  ISSI             IS80C32             2
;  ISSI             IS80C51             1
;  ISSI             IS80C52             2
;  ISSI             IS80LV31            1
;  ISSI             IS80LV32            2
;  ISSI             IS80LV51            1
;  ISSI             IS80LV52            2
;  ISSI             IS89C51             1
;  ISSI             IS89C52             2
;  OKI              80C154              41
;  OKI              80C31F              1
;  Philips          80C32               2
;  Philips          80C528              30
;  Philips          80C550              12
;  Philips          80C552              6 [*2]
;  Philips          80C554              6 [*2]
;  Philips          80C557E4            6 [*2]
;  Philips          80C557E8            6 [*2]
;  Philips          80C562              34 [*2]
;  Philips          80C575              5
;  Philips          80C591              6 [*2]
;  Philips          80C592              7 [*2]
;  Philips          80CE558             6 [*2]
;  Philips          80CE598             7 [*2]
;  Philips          83/87C451           1
;  Philips          83/87C528           30
;  Philips          83/87C550           12
;  Philips          83/87C552           6 [*2]
;  Philips          83/87C554           6 [*2]
;  Philips          83/87C557E4         6 [*2]
;  Philips          83/87C557E8         6 [*2]
;  Philips          83/87C562           34 [*2]
;  Philips          83/87C575           5
;  Philips          83/89CE558          6 [*2]
;  Philips          83C591              6 [*2]
;  Philips          83C592              7 [*2]
;  Philips          86C410              11
;  Philips          86C610              11
;  Philips          87C552              6 [*2]
;  Philips          87C591              6 [*2]
;  Philips          87C592              7 [*2]
;  Philips          87C652              10
;  Philips          87C654              10
;  Philips          89C660              25 [*2]
;  Philips          89C662              25 [*2]
;  Philips          89C664              25 [*2]
;  Philips          89C668              25 [*2]
;  Philips          89C738              10
;  Philips          89C739              10
;  Philips          8xC51/8xCL51        2
;  Philips          8xC51FA/8xL51FA     5
;  Philips          8xC51FB/8xL51FB     5
;  Philips          8xC51FC/8xL51FC     5
;  Philips          8xC51RA+            5
;  Philips          8xC51RB+            5
;  Philips          8xC51RB2            5
;  Philips          8xC51RC+            5
;  Philips          8xC51RC2            5
;  Philips          8xC51RD+            5
;  Philips          8xC51RD2            5
;  Philips          8xC52               2
;  Philips          8xC54               2
;  Philips          8xC58               2
;  Philips          P83CL580            18 [*1][*2]
;  SST              SST89C54            41
;  SST              SST89C58            41
;  SST              SST89C59            41
;  SST              SST89F54            41
;  SST              SST89F58            41
;  Winbond          W77C32              16
;  Winbond          W77E468             16
;  Winbond          W77E58              16
;  Winbond          W77LE58             16
;  Winbond          W78C32B             2
;  Winbond          W78C32C             2
;  Winbond          W78C33B             2
;  Winbond          W78C51D             26
;  Winbond          W78C52D             24
;  Winbond          W78C54              24
;  Winbond          W78C58              24
;  Winbond          W78C801             36
;  Winbond          W78E516B            24
;  Winbond          W78E51B             26
;  Winbond          W78E52B             24
;  Winbond          W78E54B             24
;  Winbond          W78E58              24
;  Winbond          W78L32              2
;  Winbond          W78L33              2
;  Winbond          W78L51              26
;  Winbond          W78L52              24
;  Winbond          W78L54              24
;  Winbond          W78L801             36
;  Winbond          W78LE516            24
;  Winbond          W78LE52             24
;  Winbond          W78LE54             24
;  Winbond          W78LE812            35
;
; [*1]  Version V7.00: Errors corrected
;
; [*2]  Timer 2 not supported as System Timer
;
; [*3]  PFI (power fail interrupt): not supported by RTX as task interrupt.
;       May be used by C51 interrupt functions only.
;
?RTX_CPU_TYPE     EQU 9


;  2. SYSTEM CLOCK
;  ===============
;
;  (Baiscally Timer 0, Timer 1 and Timer 2 are supported)
;  Set ?RTX_SYSTEM_TIMER to 0 for Timer 0
;  Set ?RTX_SYSTEM_TIMER to 1 for Timer 1
;  Set ?RTX_SYSTEM_TIMER to 2 for Timer 2 
;  NOTE: Timer 2 is not supported for all CPU types.  If it is specified
;        for a not supported CPU type, then an error message will be
;        generated when assembling RTXCONF.A51.
;  (Default-value: Timer 0)
;
?RTX_SYSTEM_TIMER    EQU 0



;  3. INITIAL INTERRUPT-ENABLE REGISTER VALUES
;  ===========================================
;
;  Some 8051 family members have specific bits in their Interrupt-Enable
;  Registers, which have other functions than interrupt enable/disable.
;  Here you can set the initial values of these special bits.
;  (Normally RTX-51 will set all not used bits in the interrupt enable mask
;  to 0).
;  You MUST NOT set bits dedicated to interrupt enable/disable !
;  NOTE: ?RTX_IEN1_INIT is only used for processors with at least 2 interrupt 
;        masks.
;        ?RTX_IEN2_INIT is only used for processors with 3 interrupt masks.
;
?RTX_IE_INIT      EQU   00H
?RTX_IEN1_INIT    EQU   00H
?RTX_IEN2_INIT    EQU   00H


;  4. FAST TASK STACK- AND ENVIRONMENT SIZE
;  ========================================
;
;  This constant defines the stack- and environment size reserved per
;  defined fast task.  These areas are located in IDATA space.
;
;  Minimum values (per task):
;  - 3 Bytes for internal use
;  - 2 Bytes for the task code start address
;  Do not set to less than 9 bytes
;  Add 3 Bytes when code bank switching is used (?RTX_BANKSWITCHING = 1) !
;  (Default value: 12 Bytes)
;
?RTX_INTSTKSIZE      EQU   24


;  5. STANDARD TASK CONTEXT STACK SIZE
;  ===================================
; 
;  This constant defines the maximum size of stack data stored in the 
;  context area of a standard task.  For each defined standard task such an
;  area is reserved in XDATA space.
;  
;  (Default value: 32 Bytes)
;
?RTX_EXTSTKSIZE      EQU   32


;  6. REENTRANT STACK SIZE
;  =======================
;
;  This constnat defines the maximum size of the reentrant stack.  For each
;  defined task such an area is reserved in XDATA space.
;
;  The greatest possible reentrant-stack size is 256-18-?RTX_EXTSTKSIZE !!
;  (Default value: 50 Bytes)
;
?RTX_EXTRENTSIZE     EQU   50


;  7. ROUND ROBIN FLAG
;  ===================
;
;  0 --> Do not use round robin scheduling
;  1 --> Use round robin scheduling
;  (Default value: 0)
;
?RTX_TIMESHARING     EQU   0


;  8. BANK SWITCHING FLAG
;  ======================
;
;  For code bank switching details see BL51 documentation and READ.ME file
;  0 --> code bank switching is disabled
;  1 --> code bank switching is enabled
;  (Default value: 0)
;
;  !!! IMPORTANT NOTICE !!!
;  Set ?B_RTX contained in L51_BANK.A51 (V1.4b up) to one, when using
;  code bank switching together with RTX-51
;
?RTX_BANKSWITCHING   EQU   0


;  9. INTERRUPT TABLE BASE ADDRESS
;  ===============================
;
;  Normally the interrupt table is located at address 0000H.  For special
;  hardware configurations, like flash eprom systems, there may be a need
;  to reroute interrupts to a table at a different address.  If an address
;  different than 0000H is used, then the user has to supply code to re-
;  route each used interrupt vector to an address with the offset declared
;  below.
;  For standard systems this address has to be 0000H.
;
?RTX_INTBASE    EQU     0000H


;  10. MAILBOX-SUPPORT FLAG
;  ========================
;
;  This flag determines if memory is allocated for the mailbox FIFOs or not.
;  If set to 0, then no wait for a mailbox is possible.  Associated calls
;  will return a NOT_OK in this case.
;  Set ?RTX_MAILBOX_SUPPORT to 0 if mailbox services are not desired.
;  Set ?RTX_MAILBOX_SUPPORT to 1 if mailbox services are desired.
;  (Default is 1)
;
?RTX_MAILBOX_SUPPORT    EQU     1


;  11. SEMAPHORE-SUPPORT FLAG
;  ==========================
;
;  This flag determines if memory is allocated for the semaphore FIFOs or not.
;  If set to 0, then no wait for a semaphore is possible.  Associated calls
;  will return a NOT_OK in this case.
;  Set ?RTX_SEMAPHORE_SUPPORT to 0 if semaphore services are not desired.
;  Set ?RTX_SEMAPHORE_SUPPORT to 1 if semaphore services are desired.
;  (Default is 1)
;  NOTE: if an increased XDATA usage compared with RTX-51 V 4.x has to be
;         avoided, then this flag should be set to 0 !
;
?RTX_SEMAPHORE_SUPPORT    EQU     1


;  12. IDLE MODE
;  =============
;
;  If this option is enabled, then each time the RTX idle loop is 
;  entered the cpu is switched to idle mode. This feature is supported 
;  for selected cpu's only.  enabling it for other cpu's will have no effect.                           
;
;  USE_IDLE        = 0: do not use the idle mode        
;                  = 1: set cpu to idle mode during system idle time

?RTX_USE_IDLE             EQU     0


;*----------------------------------------------------------------------*
;*              END of INCLUDE FILE RTXSETUP.INC                        *

